<?php

namespace app\home\controller;

use app\common\service\Service;
use app\home\model\UsersignModel;
use think\cache\driver\Redis;
use think\Request;

class SignController
{

    //消费者端的签到控制器  宋梓萌


    //获取消费者签到列表接口
    public function getUserSignList(Request $request)
    {
        //获取uid 和用户签到的天数
        $uid = $request->get('uid', 1);
        $data = UsersignModel::getUserlist($uid);
        return json($data);
    }

    //消费者签到接口
    public function userSign(Request $request)
    {
        //获取uid 和用户签到的天数
        $uid = $request->get('uid', 1);
        $day = UsersignModel::getUserday($uid);

        $last_time = date('Y-m-d');//获取签到时间
        //查询用户最后签到的时间和本次签到的时间来判断是否可以补签
        $oldUserday = UsersignModel::oldUserday($uid);
        $oldUsertime = strtotime($oldUserday['last_time']);
        $lastTime = strtotime($last_time);
        $diff = $oldUsertime - $lastTime;
        $days = abs(round($diff / 86400));
        if ($days > 2) {
            //消费者补签
            //查看消费者今天是否签到
            $oldTime = UsersignModel::findUserday($last_time);
            if ($oldTime) {
                return json($oldTime);
            }
            //如果用户签到连续7天重新开始签到
            if ($day == 7) {
                UsersignModel::deleteUserday($uid);
                $integral = 10;//第一次签到的分数为10分
                $data = ['uid' => $uid, 'integral' => $integral, 'last_time' => $last_time];
                UsersignModel::creatUserday($data);//执行添加信息
            } else {
                $integral = 10 + $day * 15;//往后每天加15积分
                $data = ['uid' => $uid, 'integral' => $integral, 'last_time' => $last_time];
                UsersignModel::creatUserday($data);//执行添加信息
            }
        } else {
            //查看消费者今天是否签到
            $oldTime = UsersignModel::findUserday($last_time);
            if ($oldTime) {
                return json($oldTime);
            }

            //如果用户签到连续7天重新开始签到
            if ($day == 7) {
                UsersignModel::deleteUserday($uid);
                $integral = 10;//第一次签到的分数为10分
                $data = ['uid' => $uid, 'integral' => $integral, 'last_time' => $last_time];
                UsersignModel::creatUserday($data);//执行添加信息
            } else {
                $integral = 10 + $day * 15;//往后每天加15积分
                $data = ['uid' => $uid, 'integral' => $integral, 'last_time' => $last_time];
                UsersignModel::creatUserday($data);//执行添加信息
            }
        }


    }


}